Method and System for Controlling Angular Speeds of Motors in Speed Sensorless Induction Motors

ABSTRACT

Angular speed of a rotor of an induction motor without an encoder for rotor position and speed sensing is controlled by first sensing stator currents and voltages of the induction motor. A dynamic gain estimator is designed by applying a state transformation to a model of the induction motor. A states of the induction motor is estimated by applying the dynamic gain estimator to the currents and the voltages, and then the state is used to control the angular speed of the rotor of the induction motor.

FIELD OF THE INVENTION

This invention relates generally to controlling electric motors, and more particularly to a method and system for controlling the angular speed of a rotor of in a speed sensorless induction motor.

BACKGROUND OF THE INVENTION

Adjustable speed induction motors are widely used due to low maintenance cost and acceptable performance. The speed control design, or equivalently, the motor drive design, of the induction motor is challenging due to highly nonlinear dynamics. Among various means, the vector (field oriented) control appears to be a good and most popular solution that has evolved as a mature technology.

This invention considers speed sensorless control technologies for the induction motor, i.e., an inductor motor where the rotor speed or position is not measured by encoders. Speed sensorless motor drives (motor drives) are desirable due to the elimination of speed sensors, lower cost, and improved reliability of the resultant system. Current speed sensorless motor drives suffer significant performance degradation due to the absence of the encoder to sense the rotor position and speed. Thus, their applications remain limited to fields requiring low or medium performance.

The performance of speed sensorless motor drives relies heavily on the performance of a flux and speed estimator 106-107 described below with reference to FIGS. 1A and 1B. A number of prior arts methods contribute to the developments of speed sensorless control technologies. The flux and speed estimator design methods include: a voltage model based direct integration approach, an adaptive observer approach, an extended kalman filter approach, see Schauder, “Adaptive speed identification for vector control of induction motors without rotational transducers,” IEEE Transactions on Industry Applications, vol. 28, no. 5, pp. 1054-1061, September/October 1992, H. Kubota, K. Matsuse, and T. Nakano, “DSP-based speed adaptive flux observer of induction motor,” IEEE Transactions on Industry Applications, vol. 29, no. 2, pp. 344-348, March/April 1993, H. Kubota and K. Matsuse, “Speed sensorless field-oriented control of induction motor with rotor resistance adaption,” IEEE Transactions on Industry Applications, vol. 30, no. 5, pp. 1219-1224, September/October 1994, K. Ohyama, G. M. Asher, and M. Sumner, “Comparative analysis of experimental performance and stability of sensorless induction motor drives,” IEEE Transactions on Industrial Electronics, vol. 53, no. 1, pp. 178-186, February 2006, D. J. Atkinson, P. P. Acamley, and J. W. Finch, “Observers for induction motor state and parameter estimation,” IEEE Transactions on Industry Applications, vol. 27, no. 6, pp. 1119-1127, November/December 1991, and M. Hilairet, F. Auger, and E. Berthelot, “Speed and rotor flux estimation of induction machines using a two-stage extended kalman filter,” Automatica, vol. 45, no. 8, pp. 1819-1827, August 2009.

FIGS. 1A and 1B show a conventional speed sensorless motor 105 and controller. An input signal 111 is a reference rotor flux amplitude, a signal 112 is an estimate outputted from a flux estimator block 106. A signal 113 represents a difference between signals 111 and 112.

A flux control block 101 determines a stator current in the d-axis, denoted by signal 114. A signal 115, as an estimate or true stator current in the d-axis, is produced by the flux estimator 106.

A difference signal 116 between signals 115 and 114 is used by a current control block 103 to determine a reference stator voltage in the d-axis, which is part of signal 123. Similarly, a signal 117 denotes a desired rotor speed reference for the induction motor. A signal 118 denotes an estimated rotor speed produced by a speed estimator block 107 based on an output signal 126 of the flux estimator 106.

A difference signal 119 between signals 117 and 118 is input to the speed control block 102 to determine a reference stator current 120 in the q-axis. An estimated or true stator current 121 in the q-axis is compared to the reference stator current 120 in the q-axis to produce a difference signal 122. The current control block 103 determines a desired stator voltage signal 123 in d- and q-axis, on the basis of the difference signals 116 and 122.

An inverse Clarke/Park transformation 104 convert the desired stator voltages signals in d- and q-axis into desired well-known three-phase voltages, and produces three-phase voltages, denoted as by 124, to drive the induction motor 105.

Note that the flux estimator 106 takes the three-phase voltages 124, sensed 131 phase currents 125, see FIG. 1B, as input signals and outputs estimated or true stator currents 115 and 121, estimated rotor flux amplitude 112, and estimated rotor speed signal 118 to produce the difference signals 113, 116, 119, and 122. The signal 119 is used by the speed control block 102.

FIGS. 2A and 2B show prior art estimator methods based on stator currents and voltages 211, which are measured by sensors 202 and are assumed in balanced three-phases and in orthogonal stationary frame, and an induction motor model 201. A Clarke/Park transformation 203 is applied to transform the induction motor model 201 and the sensed signals 211 so that quantities (including variables in the induction motor model and measured signals) in balanced three-phases are converted into quantities in balanced two-phases.

All these estimation methods fit an architecture shown in FIGS. 2A and 2B. As shown in FIG. 2A-2B, the estimator methods are based on stator currents and voltages signals, denoted by 211, measured by a sensing block 202 and an induction model 201. A Park Transformation block 203 may or may not be used to transform the induction motor model 201 and the sensed signals 211. A block 204 represents an estimator to produce estimates of stator currents, rotor flux, and rotor speed signals. The voltage model based direct integration suffers accumulation error due to inaccurate measurement. Adaptive observer and extended kalman filter approaches yield slow speed tracking performance because the speed is treated as an unknown parameter and its identification is slow.

This fact is elaborated by FIG. 2B, where block 222 represents the unnecessary assumption that the rotor speed is a parameter, and a speed estimator 223 produces the rotor speed estimate based on outputs of block 221, and the assumption 222.

Overall, most of existing speed sensorless motor drives produce limited speed tracking performance due to performing estimator design in appropriate state coordinates and under unnecessary assumption. Also, most speed-sensorless estimation methods are ad-hoc and the resultant estimation error dynamics are not guaranteed to be stable.

SUMMARY OF THE INVENTION

The embodiments of the invention provide a method and system for controlling rotor angular speed of an induction motor. The invention focuses on estimation methods that guarantee stability and practical effectiveness. The main contributions of the invention are as follows.

The invention uses an induction motor model that admits a non-triangular observable form by changing state coordinates. Then, high gain observer design can be performed in new coordinates.

However, the high gain observer in the new coordinates is not implementable due to failure to establish a closed form expression of an inverse state transformation. Therefore, the embodiments use several observers, which can be implemented in the original coordinates.

The implementable observers in the original coordinates involve a matrix inversion, which can be subject to numerical stabilities from time to time. Consequentially, the invention uses several techniques to address this issue, and makes the high gain observer practical.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are block diagrams of a prior art sensorless speed motor drive;

FIGS. 2A and 2B are block diagram of prior art estimator methods based on stator currents and voltages signals;

FIG. 3A is a block diagram of a method for estimating a state of an induction motor according to embodiments of the invention;

FIG. 3B is a block diagram of additional details of the estimation method according to the embodiments of the invention;

FIG. 4 is a block diagram of a speed sensorless motor drive using the estimation method to obtain a state estimate for a controller according to embodiments of the invention;

FIG. 5 is a block diagram of a method for obtaining a high gain estimator in new state coordinates for the induction motor according to embodiments of the invention;

FIGS. 6A and 6B are block diagrams of methods for deriving a dynamic gain estimator in original coordinates based on the estimator design in the new coordinates according to embodiments of the invention;

FIGS. 7A and 7B are block diagrams of point-wise matrix inverse approximations according to embodiments of the invention; and

FIGS. 8A and 8B are block diagrams of functional matrix inversion approximations according to embodiments of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments of our invention provide a method and system for controlling rotor angular speed of an induction motor.

We define the following notations. For a variable ζ of the induction motor, we denote ζ as the measured variable, {circumflex over (ζ)} as the estimate of the variable, ζ* as the reference of the variable, {tilde over (ζ)}=ζ−{circumflex over (ζ)} as the estimation error, and e_(ζ)=ζ*−ζ as a tracking error.

Notations Notation Description i_(ds), i_(qs) stator currents in d- and q-axis Φ_(dr),Φ_(qr) rotor fluxes in d- and q-axis ω rotor angular speed u_(ds),u_(qs) stator voltages in d- and q-axis ω₁ angular speed of a rotating frame Φ_(dr)* rotor flux amplitude reference ω* rotor angular speed reference i_(ds)*,i_(qs)* references of stator currents in d- and q-axis T_(l) load torque J inertia L_(s), L_(m), L_(r) stator, mutual, and rotor inductances R_(s), R_(r) stator and rotor resistances σ $\frac{{L_{s}L_{r}} - L_{m}^{2}}{L_{r}}$ α R_(r)/L_(r) β L_(m)/(σL_(r)) γ R_(s)/σ + αβL_(m) μ 3L_(m)/(2JL_(r))

Clarke/Park Transformation

The Clarke transformation (α−β transformation), transforms quantities in three-phase circuits to a space vector representation, and thus simplifies the analysis of the three-phase circuits. In this disclosure, the Clarke transformation is limited to the case that transforms quantities in three-phase circuits such as three-phase stator voltages into a space vector in a fixed frame.

Similarly, the Park transformation (d−q transformation), projects quantities in the fixed frame onto a rotating two-axis reference frame. The Clarke/Park transformation and its inverse are well-known for those skilled in the art. Generally, applying the optional Park transformation after the Clarke transformation facilitates the control design.

Induction Motor Models

With the Clarke/Park transformation, a general model of the induction motor is

$\begin{matrix} {{{\overset{.}{i}}_{ds} = {{- {\gamma i}_{ds}} + {\omega_{1}i_{qs}} + {\beta \left( {{\alpha\Phi}_{dr} + {\omega\Phi}_{qr}} \right)} + \frac{u_{ds}}{\sigma}}}{{\overset{.}{i}}_{qs} = {{- {\gamma i}_{qs}} + {\omega_{1}i_{ds}} + {\beta \left( {{\alpha\Phi}_{qr} + {\omega\Phi}_{dr}} \right)} + \frac{u_{qs}}{\sigma}}}{{{\overset{.}{\Phi}}_{dr} = {{- {\alpha\Phi}_{dr}} + {\left( {\omega_{1} - \omega} \right)\Phi_{qr}} + {{\alpha L}_{m}i_{ds}}}},{{\overset{.}{\Phi}}_{qr} = {{- {\alpha\Phi}_{qr}} - {\left( {\omega_{1} - \omega} \right)\Phi_{dr}} + {{\alpha L}_{m}i_{qs}}}},{\overset{.}{\omega} = {{\mu \left( {{\Phi_{dr}i_{qs}} - {\Phi_{qr}i_{ds}}} \right)} - \frac{T_{l}}{J}}},{y = \begin{bmatrix} i_{ds} & i_{qs} \end{bmatrix}^{T}},}} & (1) \end{matrix}$

where y represents sensed stator current signals, ω₁ is the rotational speed of a reference frame. If ω₁=0, Eqn. (1) is reduced to

$\begin{matrix} {{i_{ds} = {{- {\gamma i}_{ds}} + {\beta \left( {{\alpha\Phi}_{dr} + {\omega\Phi}_{qr}} \right)} + \frac{u_{ds}}{\sigma}}}{i_{qs} = {{- {\gamma i}_{qs}} + {\beta \left( {{\alpha\Phi}_{qr} + {\omega\Phi}_{dr}} \right)} + \frac{u_{qs}}{\sigma}}}{{{\overset{.}{\Phi}}_{dr} = {{- {\alpha\Phi}_{dr}} - {\omega\Phi}_{qr} + {{\alpha L}_{m}i_{ds}}}},{{\overset{.}{\Phi}}_{qr} = {{- {\alpha\Phi}_{qr}} + {\omega\Phi}_{dr} + {{\alpha L}_{m}i_{qs}}}},{\overset{.}{\omega} = {{\mu \left( {{\Phi_{dr}i_{qs}} - {\Phi_{qr}i_{ds}}} \right)} - \frac{T_{l}}{J}}},{y = \begin{bmatrix} i_{ds} & i_{qs} \end{bmatrix}^{T}},}} & (2) \end{matrix}$

which represents the induction motor model without applying the Park transformation, and corresponds to block 201 in FIG. 2A. State of art estimator designs are usually based on the models in Eqns. (1) or (2), which have the same state coordinates denoted by (i_(ds), i _(qs), Φ_(dr), Φ_(qr), ω)^(T). A direct application of existing estimator design methodologies, e.g., sliding mode observer, high gain observer, Luenberger observer, etc., to the models (1) or (2) does not produce a good estimation of induction motor state including stator currents, rotor flux, and rotor speed, due to coupled nonlinear terms in differential equations. For example, the term ω_(qr) in the right hand side of the differential equation defining i_(ds) is nonlinear, i.e.,

$i_{ds} = {{{- \gamma}\; i_{ds}} + {\beta \left( {{\alpha \; \Phi_{dr}} + {\omega \; \Phi_{qr}}} \right)} + {\frac{u_{ds}}{\sigma}.}}$

Generally, the system in Eqn. (1) cannot be used to design convergence-guaranteed nonlinear observers. In order to design observers giving provably convergent estimation error dynamics, it is beneficial to transform the system (1) into certain structures by a change of coordinates, for simplicity in this invention, a change of state coordinates.

The invention uses the following method and system for state estimation based on a transformed induction motor model obtained by applying a change of state coordinates to the induction motor model (1) or (2).

As shown in FIG. 3A, a state transformation 301, which defines a different set of state coordinates and facilities systematic estimator design, is used in the estimator design flow. The state transformation 301 can be performed on the induction models (1) or (2), e.g., a Park transformation can be used. Applying the state transformation to the induction motor model 201 and sensed stator currents and voltages signals 211 from the sensors 202 produces a transformed induction motor model 303. The transformed induction motor model can then be used to design the state estimator performing the state estimation 302.

FIG. 3B shows additional details of the estimation using the induction motor model 201 and Clarke/Park transformation 203 to obtain the state transformation 301. Given the transformed induction motor model 303, a high gain estimator design in the new coordinates, defined by the state transformation, is performed in block 321. Then, a dynamic high gain estimator design based on the induction motor model 201, in the original coordinates, is performed in block 322.

The block 322 outputs a high gain estimator 401 in the original state coordinates, which can be implemented in processor to produce estimates 402 of induction motor states including the stator currents, the rotor fluxes, and the rotor speed, also see FIG. 4.

FIG. 4 shows a method for obtaining the state estimate 402 for the controller 101 using the high gain estimator in the original coordinates as 401 so that the speed sensorless motor drives can be realized. During operation of the motor, the block 202 senses the induction motor stator voltages and currents in three-phases. Block 203 transforms the three-phase voltages and currents into space vector signals 411 representing stator currents and rotor fluxes in d and q axes.

The dynamic gain estimator in the original coordinates 401 produces state estimates (î_(ds), ê_(qs), {circumflex over (Φ)}_(dr), {circumflex over (Φ)}_(qr), {circumflex over (ω)})^(T) 402 for the controller 101, which in turn determines command voltages 123 in two-axis space for the motor. The command voltages 123 are transformed into command voltages in three-phase to the induction motor using the inverse Clarke/Park transformation 104.

Next described is an embodiment of new coordinates which simplifies state estimation in speed sensorless motor drives.

Non-Triangular Observable Form

A high gain observer design can be carried out when the system (1) is transformed into the following non-triangular observable form by a change of state coordinates x=φ(ζ)

{dot over (x)}=Ax+φ(x, u)

y=Cx,   (3)

where the state x ∈

^(n), and for 1≦k≦p,

$x = {{\begin{bmatrix} x^{1} \\ \vdots \\ x^{p} \end{bmatrix}\mspace{14mu} {with}\mspace{14mu} x^{k}} = {\begin{bmatrix} x_{1}^{k} \\ \vdots \\ x_{\lambda_{k}}^{k} \end{bmatrix} \in {\mathbb{R}}^{\lambda_{k}}}}$ ${A = {{diag}\left\{ {A_{1},\ldots \mspace{14mu},A_{p}} \right\}}},\; {A_{k} = {\begin{bmatrix} 0 & I_{\lambda_{k} - 1} \\ 0 & 0 \end{bmatrix}\mspace{11mu} \in {\mathbb{R}}^{\lambda_{k} \times \lambda_{k}}}}$ ${C = {{diag}\left\{ {C_{1},\ldots \mspace{14mu},C_{p}} \right\}}},{C_{k} = {\begin{bmatrix} 1 & 0 \end{bmatrix}\mspace{11mu} \in {\mathbb{R}}^{\lambda_{k}}}},$

where, x^(k) denotes the state of the k^(th) subsystem associated with the k^(th) output y_(k), and λ_(k), 1≦k≦p are the dimensions of all subsystems. For 1≦k≦p, we call λ_(k) subsystem indices, and Σ_(k=1) ^(p) λ_(k)=n. The vector field φ(x, u) is

${\phi = {{\begin{bmatrix} \phi^{1} \\ \vdots \\ \phi^{p} \end{bmatrix}\mspace{14mu} {with}\mspace{14mu} \phi^{k}} = {\begin{bmatrix} \phi_{1}^{k} \\ \vdots \\ \phi_{\lambda_{k}}^{k} \end{bmatrix}\; \in {\mathbb{R}}^{\lambda_{k}}}}},\mspace{14mu} {1 \leq k \leq {p.}}$

Specifically, φ_(i) ^(k) has the following structure: for 1≦i≦λ_(k)−1,

φ_(i) ^(k)=φ_(i) ^(k)(x ¹ , . . . , x ^(k−1) , x ₁ ^(k) , . . . , x _(i) ^(k) , x ₁ ^(k+1) , . . . , x ₁ ^(p) , u)   (4)

and for i=λ_(k)

φ_(i) ^(i)=φ_(λ) _(k) ^(k)(x ¹ , . . . , x ^(p) , u).

Motor Drives: Verifying that System (1) Admits the Form (3)

A concise representation of system (1) is

{dot over (ζ)}=f(ζ)+g ¹ u _(ds) +g ² u _(qs),

where

ζ=(d _(ds) , i _(qs), Φ_(dr), Φ_(qr), ω)^(T),

g ¹=(1/σ,0,0,0,0)^(T),

g ²=(0,1/σ,0,0,0)^(T), and

f, g¹, g² are appropriately defined according to (1).

System (1) is transformable to the non-triangular observable form by the following change of state coordinates, for the k^(th) subsystem

$\begin{matrix} {{x^{k} = {{\varphi^{k}(\zeta)} = \begin{bmatrix} {h_{k}(\zeta)} \\ \vdots \\ {L_{f}^{\lambda_{k} - 1}{h_{k}(\zeta)}} \end{bmatrix}}},} & (5) \end{matrix}$

where λ_(k) are observability indices. Observability ensures that

x=φ(ζ)=((φ¹(ζ))^(T), . . . , (φ^(p)(ζ))^(T))^(T)

defines new coordinates, i.e., φ(ζ) is a local diffeomorphism.

The observable form is not uniquely defined due to the non-uniqueness of observability definitions and observability indices.

In one embodiment, for system (1) with outputs h₁=i_(ds) and h₂=i_(qs), observability indices can be taken as (3, 2). For example, we take (λ₁, λ₂)=(3, 2) and verify that new state coordinates, given by

x=(h ₁ , L _(f) h ₁ , L _(f) ² h ₁ , h ₂ , L _(f) h ₂)^(T)   (6)

transforms (1) into the non-triangular observable form (3). For a smooth vector field f (ζ): R^(n)→R^(n) and a smooth function h(ζ), we denote

${L_{f}h} = {\frac{\partial h}{\partial\zeta}{f(\zeta)}}$

the Lie derivative of h(ζ) along f (ζ). Repeated Lie derivative are defined as

${L_{f}^{k}h} = {\frac{\partial\left( {L_{f}^{k - 1}h} \right)}{\partial\zeta}{f(\zeta)}}$

with k>1.

Given Eqn. (6), the system in x-coordinates is

{dot over (x)}=Ax+φ(x, u)

y=Cx,

where A=diag{A₁, A₂} with A₁ ∈ R^(3×3) and A₂ ∈

^(2×2), C=diag{C₁, C₂} with C₁ ∈ R³ and C₂ ∈

². One can verify that φ satisfies the triangular condition in Eqn. (4).

In another embodiment, for system (1) with outputs h₁=i_(qs) and h₂=i_(ds), observability indices can be taken as (λ₁, λ₂)=(3,2), and we can verify that new state coordinates x=(h₁, L_(f)h₁, L_(f) ²h₁, h₂, L_(f)h₂)^(T) transforms (1) into the non-triangular observable form (3).

High Gain Estimator Design in New Coordinates x

For the case when the inverse of the state transformation ζ=φ⁻¹(x) is unsolvable, the high gain estimator design in new coordinates x=φ(ζ) is not trivial.

FIG. 5 shows that this requires a block 501 to derive an estimate of a strict upper bound of the Lipschitz constant φ(x, u) in the new coordinates, whose expression is unknown. Then, the high gain estimator design 321 in the new coordinates can be used to obtain the high gain estimator design 511.

Case When ζ=φ⁻¹(x) is Solvable

Given the state transformation x=φ(ζ) and its inverse ζ=φ⁻¹(x), one can obtain the system representation in the non-triangular observable form. Observer design is performed in the non-triangular observable coordinates to estimate x. Afterwards, estimates of ζ, denoted by {circumflex over (ζ)}, is reconstructed out of {circumflex over (x)}. For the k^(th) subsystem, we use the following observer

$\begin{matrix} {{{\overset{.}{\hat{x}}}^{k} = {{A_{k}{\hat{x}}^{k}} + {\hat{\phi}}^{k} + {\theta^{\delta_{k}}{\Delta_{k}^{- 1}(\theta)}S_{k}^{- 1}C_{k}^{T}C_{k}{\overset{\sim}{x}}^{k}}}}{{\hat{y}}_{k} = {C_{k}{\hat{x}}^{k}}}{where}{{{\hat{x}}^{k} = \left( {{\hat{x}}_{1}^{k},\ldots \mspace{14mu},{\hat{x}}_{\lambda_{k}}^{k}} \right)^{T}},{{\overset{\sim}{x}}^{k} = {x^{k} - {\hat{x}}^{k}}},{\theta > 0}}{\delta_{k} = \left( {{\begin{matrix} {{2^{p - k}\left( {\prod\limits_{i = {k + 1}}^{p}\left( {\lambda_{i} - \frac{3}{2}} \right)} \right)},} & {{{if}\mspace{14mu} 1} \leq k \leq {p - 1}} \\ {1,} & {{{if}\mspace{14mu} k} = p} \end{matrix}{\Delta_{k}(\theta)}} = {{{diag}\left\{ {1,\frac{1}{\theta^{\delta_{k}}},\ldots \mspace{14mu},\frac{1}{\theta^{\delta_{k}{({\lambda_{k} - 1})}}}} \right\} {\hat{\phi}}^{k}} = {{\left( {{\hat{\phi}}_{1}^{k},\ldots \mspace{14mu},{\hat{\phi}}_{\lambda_{k}}^{k}} \right)^{T}{\hat{\phi}}_{i}^{k}} = {\phi_{i}^{k}\left( {{\hat{x}}^{1},\ldots \mspace{14mu},{\hat{x}}^{k - 1},{\hat{x}}_{1}^{k},\ldots \mspace{14mu},{\hat{x}}_{i}^{k},{\hat{x}}_{1}^{k + 1},\ldots \mspace{14mu},{\hat{x}}_{1}^{p},u} \right)}}}} \right.}} & (7) \end{matrix}$

and S_(k) is solved from

S _(k) +A _(k) ^(T) S _(k) +S _(k) A _(k) =C _(k) ^(T) C _(k).   (8)

Note that θ depends on the Lipschitz constant ω.

Case When ζ=φ⁻¹(x) is Unsolvable

Without the closed form expression of the inverse state transformation (=φ⁻¹(x), one cannot obtain the system representation in the non-triangular observable form because the Lipschitz constant φ(x, u) is unknown. This poses significant challenges to observer design approaches with state transformation involved because the observer (7) cannot be designed or implemented without knowing the expression of the Lipschitz constant φ(x, u). This section describes that one can still perform observer design in the non-triangular observable coordinates.

We describe how to derive the upper bound of the Lipschitz constant of φ. The design of observer (7) necessitates the expression of φ(x, u) in order to estimate the Lipschitz constant of φ(x, u) in x. We show how the Lipschitz constant of φ(x, u) in x can be estimated on the basis of φ(ζ). Assume that φ(x, u) is globally Lipschitz with respect to x uniformly in u, i.e., ∀x₁, x₂ ∈

^(n), ∃L_(x)>0

|φ(x ₁ , u)−φ(x ₂ , u)≦L _(x) |x ₁ −x ₂|.   (9)

Note that L_(x) is unknown and to be estimated. From Eqn. (9), and considering that φ(x, u) is smooth about its arguments, we have for all u ∈

^(m)

${{{{\phi \left( {x_{1},u} \right)} - {\phi \left( {x_{2},u} \right)}}} \leq {{\frac{\partial{\phi \left( {x,u} \right)}}{\partial x}}_{\infty} \times {{x_{1} - x_{2}}}} \leq {{{\frac{\partial{\phi \left( {{\varphi (\zeta)},u} \right)}}{\partial\zeta}\frac{\partial\zeta}{\partial x}}}_{\infty} \times {{x_{1} - x_{2}}}} \leq {{\frac{\partial{\phi \left( {{\varphi (\zeta)},u} \right)}}{\partial\zeta}}_{\infty} \times {\frac{\partial\zeta}{\partial x}}_{\infty} \times {{x_{1} - x_{2}}}} \leq {\kappa_{1}{\frac{\partial\zeta}{\partial x}}_{\infty} \times {{x_{1} - x_{2}}}}},\mspace{14mu} {\forall x},{\zeta \in {\mathbb{R}}^{n}},$

where

${0 < {\frac{\partial{\phi \left( {{\varphi (\zeta)},u} \right)}}{\partial\zeta}}_{\infty} \leq \kappa_{1}},$

and

${\phi \left( {{\varphi (\zeta)},u} \right)} = {{\frac{\partial{\varphi (\zeta)}}{\partial\zeta}\left( {{f(\zeta)} + {{g(\zeta)}u}} \right)} - {A\; {{\varphi (\zeta)}.}}}$

Because

$\frac{\partial{\phi \left( {{\varphi (\zeta)},u} \right)}}{\partial\zeta}$

is known, the upper bound of its infinity norm κ₁ can be established. To derive the upper bound of

${\frac{\partial\zeta}{\partial x}}_{\infty},$

we take into account the fact that for a non-singular matrix M, its infinity norm (maximum absolute eigenvalue) is equal to the inverse of the minimum absolute eigenvalue of M⁻¹,

${\max {{{eig}(M)}}} = {{M}_{\infty} = {\frac{1}{\min {{{eig}\left( M^{- 1} \right)}}}.}}$

The above equation produces an upper bound of

${\frac{\partial\zeta}{\partial x}}_{\infty}$

as

$\kappa_{2} = {{1/\min}{{{{eig}\left( \frac{\partial x}{\partial\zeta} \right)}}.}}$

Therefore, we establish κ₁κ₂ as the upper bound of the Lipschitz constant L_(x).

Motor Drives: High Gain Estimator Design in New Coordinates

Given the observer (7) for the k^(th) subsystem and an estimated upper bound of the Lipschitz constant φ(x, u), an observer can be designed for each subsystem. For the induction motor case, we take λ₁=3, λ₂=2, p=2, and have design parameters

θ > 0, δ₁ = 1, δ₂ = 1 ${{\Delta_{1}(\theta)} = {{diag}\left\{ {1,\frac{1}{\theta},\frac{1}{\theta^{2}}} \right\}}},{{\Delta_{1}(\theta)} = {{diag}\left\{ {1,\frac{1}{\theta}} \right\}}}$ S₁⁻¹C₁^(T) = (3, 3, 1)^(T), S₂⁻¹C₂^(T) = (2, 1)^(T).

Note that θ is a tuning parameter of the observer. Substituting the above design parameters into the k^(th) subsystem for k={1, 2}, we can obtain observer in x-coordinates as follows

{circumflex over ({dot over (x)})} ¹ =A ₁ {circumflex over (x)} ¹+{circumflex over (ω)} ¹ +G ₁ C ₁ {tilde over (x)} ¹

{circumflex over ({dot over (x)})} ² =A ₂ {circumflex over (x)} ²+{circumflex over (ω)} ² +G ₂ C ₂ {tilde over (x)} ²,

ŷ₁=C₁{circumflex over (x)}¹

ŷ₂=C₂{circumflex over (x)}²,   (10)

where

G ₁=θ^(δ) ¹ Δ₁ ⁻¹(θ)S ₁ ⁻¹ C ₁ ^(T)=[3θ 3θ² θ³]^(T)

G ₂=θ^(δ) ² Δ₂ ⁻¹(θ)S ₂ ⁻¹ C ₂ ^(T)=[2θ θ²]^(T).

In practice, a less rigorous approach to design the high gain observer in new coordinates can select a sufficiently large θ, which balances performance and sensitivity to noises.

Dynamic Gain Estimator Design in Original Coordinates

One can estimate the state x using the observer designed in x-coordinates. In practice, it is more natural to have the original state estimate {circumflex over (ζ)}. For many cases, given the estimator in new coordinates, it is not easy to derive the corresponding estimator in the original coordinates.

FIGS. 6A and 6B show two methods useful for deriving an implementable dynamic gain estimator in the original coordinates based on the estimator design in the new coordinates. FIGS. 6A and 6B mainly addresses the issues during dynamic gain estimator design when ζ=φ⁻¹(x) is unsolvable.

FIG. 6A shows the method using a point-wise matrix inversion approximation 602, and FIG. 6B shows the method using a functional matrix inversion approximation 603. Block 601 determines a Jacobian matrix of the state transformation in closed form.

As shown in FIG. 6A, block 601 determines a Jacobian matrix of the state transformation in closed form,

${{Q_{o}(\zeta)} = \frac{\partial x}{\partial\zeta}},$

and then takes the output (estimated state in the original coordinates) of the dynamic gain estimator 401, finally evaluate the numerical value of the Jacobian matrix point-wisely at the estimated state, i.e.,

Q _(o)(ζ)|_(ζ={circumflex over (ζ)}) =Q _(o)({circumflex over (ζ)})

with {circumflex over (ζ)}=(î_(ds), î_(qs), {circumflex over (Φ)}_(qr), {circumflex over (Φ)}_(qr), {circumflex over (ω)}). We therefore have a point-wise matrix Q_(o)({circumflex over (ζ)}).

It is likely the matrix Q_(o)({circumflex over (ζ)}) is singular or close to singular, i.e., ill-conditionedness. Both facts lead to divergence of state estimation. Block 602 addresses the issues raising from the ill-conditionedness of Q_(o)({circumflex over (ζ)}), and determines an approximate inverse of the point-wise matrix Q_(o)({circumflex over (ζ)}) by replacing the ill-conditioned matrix Q_(o)({circumflex over (ζ)}) with its non-singular and well-conditioned approximation. The dynamic gain estimator 401 is implemented based on the high gain estimator in the new coordinates and the approximate inverse of the point-wise matrix Q_(o)({circumflex over (ζ)}).

FIG. 6B shows an alternative implementation of the dynamic gain estimator 401. The output of the Jacobian matrix of state transformation 601 is a matrix Q_(o), where each element is a function of ζ. Instead of evaluating the numerical value of Q_(o) at ζ={circumflex over (ζ)}. Block 603 first tries to approximate the function matrix Q_(o) by an approximate function matrix {circumflex over (Q)}_(o)(ζ) then evaluates the numerical value of the approximate function matrix {circumflex over (Q)}_(o) at ζ={circumflex over (ζ)} point-wisely, and determine the inverse of {circumflex over (Q)}_(o)({circumflex over (ζ)}) point-wisely, which is further used by block 401 to implement a dynamic gain estimator.

Case When ζ=φ⁻¹(x) is Solvable

Two approaches can be used to construct {circumflex over (ζ)}. The first solves for {circumflex over (ζ)} from {circumflex over (x)} based on the closed form expression of the inverse transformation ζ=φ⁻¹(x). That is {circumflex over (ζ)}=φ⁻¹({circumflex over (x)}). The second implements the observer (7) in ζ-coordinates as follows

$\begin{matrix} {{\overset{.}{\hat{\zeta}} = {{f\left( \hat{\zeta} \right)} + {g\left( {\hat{\zeta},u} \right)} + {\frac{\partial\zeta}{\partial x}\Theta \; {\Delta^{- 1}(\theta)}S^{- 1}{C^{T}\left( {y - \hat{y}} \right)}}}},{\hat{y} = {h\left( \hat{\zeta} \right)}},} & (11) \end{matrix}$

where

Θ=diag{θ^(δ) ¹ , . . . , θ^(δ) ^(p) }

Δ⁻¹=diag{Δ₁ ⁻¹(θ), . . . , Δ_(p) ⁻¹(θ)}

S ⁻¹=diag{S ₁ ⁻¹ , . . . , S _(p) ⁻¹}.

Notice that Eqn. (11) includes the term

$\frac{\partial\zeta}{\partial x},$

which assumes the closed form formula of the inverse transformation ζ=φ⁻¹(x), and thus may not be implementable with an explicit expression of ζ=φ⁻¹(x).

Case When ζ=φ⁻¹(x) is Unsolvable

With the expression of φ(x, u) unknown, the observer (7) cannot be realized unless φ is represented as a function of φ(ζ), u). Consequently, the following implementable x-observer can be obtained

{circumflex over ({dot over (x)})} ^(k) =A _(k) {circumflex over (x)} ^(k)+φ^(k)(φ({circumflex over (ζ)}), u)+θ^(δ) ^(k) Δ_(k) ⁻¹(θ)S _(k) ⁻¹ C _(k) ^(T) C _(k) {tilde over (x)} ^(k),

ŷ=C_(k){circumflex over (x)}^(k),   (12)

where φ^(k)(φ({circumflex over (ζ)}), u) are the rows corresponding to the k^(th) subsystem in φ(φ({circumflex over (ζ)}), u) given by

${\phi \left( {{\varphi \left( \hat{\zeta} \right)},u} \right)} = {{\frac{\partial{\varphi \left( \hat{\zeta} \right)}}{\partial\hat{\zeta}}\left( {{f\left( \hat{\zeta} \right)} + {{g\left( \hat{\zeta} \right)}u}} \right)} - {A\; {\varphi \left( \hat{\zeta} \right)}}}$

and {circumflex over (ζ)} is numerically solved from the following n nonlinear algebraic equations

{circumflex over (x)}=φ({circumflex over (ζ)}).   (13)

As a result, the observer (12) is implemented as (13) and

$\begin{matrix} {{\overset{.}{\hat{x}} = {{\frac{\partial{\varphi \left( {\hat{\zeta},u} \right)}}{\partial\hat{\zeta}}\left( {{f\left( \hat{\zeta} \right)} + {{g\left( \hat{\zeta} \right)}u}} \right)} + {\Theta \; {\Delta^{- 1}(\theta)}S^{- 1}C^{T}C\overset{\sim}{x}}}}{\hat{y} = {C\; {\hat{x}.}}}} & (14) \end{matrix}$

Alternatively, considering the state transformation φ(ζ) is a local diffeomorphism, and thus its Jacobian

$\frac{\partial x}{\partial\zeta}$

is non-singular. One can therefore implement the observer (11) as follows

$\begin{matrix} {{\overset{.}{\hat{\zeta}} = {{f\left( \hat{\zeta} \right)} + {g\left( {\hat{\zeta},u} \right)} + {\left( \frac{\partial x}{\partial\zeta} \right)^{- 1}\Theta \; {\Delta^{- 1}(\theta)}S^{- 1}{C^{T}\left( {y - \hat{y}} \right)}}}},{\hat{y} = {{h\left( \hat{\zeta} \right)}.}}} & (15) \end{matrix}$

Note that Eqn. (15) is different from Eqn. (11) where the Jacobian of the inverse state transformation

$\frac{\partial\zeta}{\partial x}$

is used.

Motor Drives: High Gain Estimator Design in Original Coordinates

Two approaches can be used to estimate ζ on the basis of Eqn. (10). The estimated state {circumflex over (ζ)} can be constructed by implementing the observer in ζ-coordinates, i.e., as in Eqn. (15).

Point-Wise Matrix Inverse Approximation

To shorten the notation, we use

$Q_{o} = {\frac{\partial\hat{x}}{\partial\hat{\zeta}}.}$

Implementation of the observer in Eqn. (15) requires one to solve the inverse of Q_(o) in realtime, more accurately, to solve the observer gain G_(ζ) in ζ-coordinates from the following linear system

G_(x)=Q_(o)G_(ζ),   (16)

where G_(x)=ΘΔ⁻¹(θ)S⁻¹C^(T). Numerical instability could be serious when Q_(o) is ill-conditioned, and we cannot easily rely on the solutions coining out of an ill-conditioned Q_(o), for instance the least square solution

G _(ζ)=(Q _(o) ^(T) Q _(o))⁻¹ Q _(o) ^(T) G _(x)

becomes useless. Let cond(Q_(o))=|Q_(o)|₂₈ |Q_(o) ⁻¹|₂₈ be the condition number of Q_(o). One can expect a loss of roughly log₁₀(cond(Q_(o))) decimal places in the accuracy of the solutions.

Next, we describe techniques to remedy the aforementioned numerical instability.

FIGS. 7A and 7B show embodiments of point-wise matrix inverse approximation 602. In both cases, the input 700 is the numeral value of Jacobian matrix of the state transformation Q_(o) 700. As shown in FIG. 7A, the point-wise numerical matrix Q_(o)({circumflex over (ζ)}) is preconditioned by several techniques as below to produce a pre-conditioned Q_(o)({circumflex over (ζ)}) 701, and then determine 702 the inverse of the preconditioned matrix 701.

Preconditioning

A number of method are known for obtaining a good approximate inverse of an ill-conditioned Q_(o) using techniques such as pre-conditioning, scaling, etc. An intuitive pre-conditioning, also called the Tikhonov regularization, uses a positive constant h into (16) and tries to solve

G _(ζ)=(Q _(o) ^(T) Q _(o) +hI)⁻¹ Q _(o) ^(T) G _(x).

By using h, the Tikhonov regularization reduces the condition number of Q_(o) ^(T)Q_(o) and results in an improvement of the solution accuracy. Alternatively, one can regularize the problem by adding extra information, for instance the smoothness of G_(ζ). The basic idea is that the correct solution among all “near” solutions is characterized by requiring a “smoothness” of some function, curve or surface constructed from G_(ζ) at a fixed time instant.

Dynamic Gain

When a smooth function of ζ(t) is continuous over time, G_(ζ) is continuous over time as well. However, this contradicts the fact that an ill-conditioned Q_(o) typically results in discontinuity of G_(ζ) over time. Therefore, during implementation, one can force that G_(ζ) is be continuous over time.

As shown in FIG. 7B, the inverse of the point-wise numerical matrix Q_(o)({circumflex over (ζ)}) is first determined in 703, and then the the inverse matrix is fed into a matrix smoothing block 704 to smooth the matrix, such that effects of instantaneous ill-conditionedness of Q_(o)({circumflex over (ζ)}) are attenuated by previous values.

One embodiment of the matrix smoothing mechanism can be

${G_{\zeta}(k)} = \left( {\begin{matrix} {{{solved}\mspace{14mu} {from}\mspace{14mu} (16)},} & {{{if}\mspace{14mu} {cond}\; \left( Q_{o} \right)} \leq c} \\ {{G_{\zeta}\left( {k - 1} \right)},} & {otherwise} \end{matrix},} \right.$

where k is the time step, and c is a positive constant. Another embodiment of the matrix smoothing mechanism uses a low pass filter.

Functional Matrix Inverse Approximation Q_(o)

The above described preconditioning methods concentrate on Eqn. (16), and try to resolve the ill-conditionedness of the numerical matrix Q_(o) at a fixed time instant (point-wisely). As shown in FIG. 6B, one can also take an approach from a systematic perspective, where Q_(o) is treated as a function of ζ instead. The idea is to replace Q_(o) in Eqn. (16) with an approximate matrix {circumflex over (Q)}_(o). Both Q_(o) and {circumflex over (Q)}_(o) are functions of ζ. Block 603 solve the problem finding {circumflex over (Q)}_(o) that can be explicitly written as follows, for all ζ,

$\begin{matrix} {{\min\limits_{{{\hat{Q}}_{o}{(\zeta)}} \in Q}{{{Q_{o}(\zeta)} - {{\hat{Q}}_{o}(\zeta)}}}}{{{{subject}\mspace{14mu} {to}\mspace{14mu} {{cond}\left( {{\hat{Q}}_{o}(\zeta)} \right)}} < c},}} & (17) \end{matrix}$

where Q is a functional space, and |Q_(o)−{circumflex over (Q)}_(o)| is certain norm representing the distance between Q_(o) and {circumflex over (Q)}_(o). The problem in Eqn. (17) is of infinite dimensions and very difficult to solve. Instead, approximation of Q_(o) is more often accomplished intuitively.

FIGS. 8A and 8B show embodiments of functional matrix inversion approximation 603. As shown in FIG. 8A, the Jacobian matrix Q_(o)(ζ) 700, which is a multi-variable smooth function matrix, can be approximated to arbitrary accuracy by Tylor series expansion, which is infinite dimensional and not suitable for implementation. By truncating the Taylor series expansion of Q_(o)(ζ) to certain order in, one can obtain a low order polynomial series approximation of Q_(o)(ζ) 801, which is not ill-conditioned. Evaluating 802 the value of low order polynomial series approximation at ζ={circumflex over (ζ)} 802, and determining 803 its inverse enables the implementation of dynamic gain estimator 401.

FIG. 8B shows another embodiment, which eliminates from Q_(o) certain components which causes ill-conditionedness of Q_(o)(ζ). For the speed sensorless motor drive case, the ill-conditioned matrix Q_(o) incurs large fluctuations of the speed estimate.

An embodiment of the function approximation idea solves (17) by exploiting the structure of Q_(o). Notice that in the fixed frame, the matrix Q_(o) is periodically time-varying, and thus makes the numerical stability issue more complicated.

Hence, we first rewrite the system (1) in a frame rotating at ω₁ so that at a steady state, i_(ds), i_(qs), Φ_(dr), Φ_(qr) are constants. Then, we remove 804 some components in Qo to get {circumflex over (Q)}_(o) and avoid ill-conditionednesstrim Q_(o), which is suitable for realtime implementation and give reasonable state estimation performance. For illustration purpose, we express

$Q_{o} = {\begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & \omega_{1} & {\alpha \; \beta} & {\beta \; \hat{\omega}} & {\beta \; {\hat{\Phi}}_{qr}} \\ 0 & 1 & 0 & 0 & 0 \\ {- \omega_{1}} & 0 & {{- \beta}\; \hat{\omega}} & {\alpha \; \beta} & {{- \beta}\; {\hat{\Phi}}_{dr}} \\ \; & * & * & * & * \end{bmatrix}.}$

Notice that the elements in the last row of matrix Q_(o) are large numbers, and cause the ill-conditionedness. Also, the last row uses large feedback gains in the ĩ_(ds) and ĩ_(ds)-dynamics, and thus make the entire error dynamics sensitive to measurement noises. Therefore, we approximate matrix {circumflex over (Q)}_(o) by letting the first four elements of the last row in Q_(o) be zero. We implement the observer (15) with

$\frac{\partial\hat{x}}{\partial\hat{\zeta}},$

equivalently Q_(o), replaced by

${\hat{Q}}_{o} = {\begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & \omega_{1} & {\alpha \; \beta} & {\beta \; \hat{\omega}} & {\beta \; {\hat{\Phi}}_{qr}} \\ 0 & 1 & 0 & 0 & 0 \\ {- \omega_{1}} & 0 & {{- \beta}\; \hat{\omega}} & {\alpha \; \beta} & {{- \beta}\; {\hat{\Phi}}_{dr}} \\ {\; 0} & 0 & 0 & 0 & * \end{bmatrix}.}$

Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention. 

We claim:
 1. A method for controlling an angular speed of a rotor of an induction motor without an encoder for rotor position and speed sensing, comprising steps of: sensing stator currents and voltages of the induction motor; designing a dynamic gain estimator by applying a state transformation to a model of the induction motor; estimating a state of the induction motor by applying the dynamic gain estimator to the currents and the voltages, and using the state to control the angular speed of the rotor of the induction motor.
 2. The method of claim 1, wherein the designing further comprises: applying the state transformation to the model in the original coordinates defined by (i_(ds), i_(qs), Φ_(dr), Φ_(qr), ω)^(T) to produce a transformed induction motor model in a non-triangular observable form, wherein i_(ds) represents the currents , i_(qs), represents the voltages, Φ_(dr) and Φ_(qr) respectively represent rotor fluxes d- and q-axis, ω represents a rotor angular speed, and T is a transpose operator; determining the high gain estimator in new state coordinates defined by the state transformation, based on the transformed induction motor model; and determining an approximation of an inverse of a Jacobian matrix of the state transformation.
 3. The method of claim 2, wherein the model is transformed to the non-triangular observable form by the state transformation with observability indices (λ₁=3, λ₂=2) x=(h ₁ , L _(f) h ₁ , L _(f) ² h ₁ , h ₂ , L _(f) h ₂)^(T) where h₁=i_(ds), h₂=i_(qs), and L_(f) ^(k)h_(j) represents a k^(th) Lie derivative of h_(j) along a vector field f.
 4. The method of claim 1, where the dynamic gain estimator consists of nonlinear differential equations represented in the original state coordinates, and performs estimating by integrating the nonlinear differential equations over time.
 5. The method of claim 2, wherein the designing further comprises: deriving an upper bound of a Lipschitz constant of a nonlinear vector field φ in the transformed induction motor model; selecting a tuning parameter θ according to the upper bound; and determining parameters in the high gain estimator according to θ and the state transformation.
 6. The method of claim 5, wherein the upper bound is based on determining a maximum eigenvalue of a Jacobian matrix of the state transformation, or selecting a sufficiently large positive number.
 7. The method of claim 5, wherein the tuning parameter θ is selected to be a sufficiently large positive number to ensure convergent state estimation.
 8. The method of claim 2, where the determination of the approximation of the inverse of the Jacobian matrix of the state transformation comprises: evaluating the Jacobian matrix at an estimated state point-wisely; and determining the approximate inverse of the evaluated Jacobian matrix.
 9. The method of claim 8, where the determining of the approximation inverse of the Jacobian matrix is based on applying pre-conditioning techniques to obtain a pre-conditioned Jacobian matrix, and the approximate inverse is obtained by determining the inverse of the pre-conditioned Jacobian matrix.
 10. The method of claim 8, where the determining of the approximation inverse of the Jacobian matrix is based on first determining an pseudo-inverse of the Jacobian matrix point-wisely, and then smoothing the pseudo-inverse with a low pass filter.
 11. The method of claim 2, where the determination of the approximation of the inverse of the Jacobian matrix of the state transformation comprises: determining an approximate function matrix of the Jacobian matrix; evaluating the approximate function matrix at an estimated state point-wisely; and determining the approximate inverse of the evaluated Jacobian matrix by inverting the approximated function matrix point-wisely.
 12. The method of claim 11, where the determination of the approximate function matrix comprises: representing the Jacobian matrix as a polynomial series expansion; and determining a low order polynomial series approximation of the Jacobian matrix by truncating high order terms in the polynomial series expansion.
 13. The method of claim 11, where the determination of the approximate function matrix comprises: performing structural analysis of the Jacobian matrix to identify elements causing ill-conditionedness of the Jacobian matrix; and obtaining an approximate Jacobian matrix by removing the elements.
 14. The method of claim 1, wherein the designing further comprises: applying the state transformation to the model in the original coordinates defined by (i_(ds), i_(qs), Φ_(dr), Φ_(qr), ω)^(T) to produce a transformed induction motor model in a non-triangular observable form, wherein i_(ds) represents the currents , i_(qs), represents the voltages, Φ_(dr) and Φ_(qr) respectively represent rotor fluxes d- and q-axis, ω represents a rotor angular speed, and T is a transpose operator; determining the high gain estimator in new state coordinates defined by the state transformation, based on the transformed induction motor model; and choosing the high gain estimator in new state coordinates and a set of nonlinear algebraic equations derived from the state transformation as the dynamic gain estimator.
 15. The method of claim 14, wherein the dynamic gain estimator consists of another set of nonlinear differential equations representing the high gain estimator in the new state coordinates, and a set of nonlinear algebraic equations defined by the state transformation.
 16. The method of claim 15, where the dynamic gain estimator produces an estimated state defined by the state transformation by integrating the nonlinear differential equations defining the high gain estimator; and estimating the original state coordinates by numerically and iteraively solving the set of nonlinear algebraic equations.
 17. A system for controlling an angular speed of a rotor of an induction motor without an encoder for rotor position and speed sensing, comprising: a sensor configured to sense stator currents and voltages of the induction motor; and a processor configured to design a dynamic gain estimator by applying a state transformation to a model of the induction motor, to estimate estimating a state of the induction motor by applying the dynamic gain estimator to the currents and the voltages, and to using the state to control the angular speed of the rotor of the induction motor. 